package com.kgc.basicprovider.controller;


import com.kgc.basic.pojo.Store;
import com.kgc.basic.remote.StoreRemote;
import com.kgc.basic.util.ResponseMsg;
import com.kgc.basicprovider.service.StoreService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;

@RestController
public class StoreController implements StoreRemote {

    private Logger logger = LoggerFactory.getLogger(getClass());
    @Autowired
    private StoreService storeService;
    @Override
    public ResponseMsg getStoreList(@RequestBody Map<String, Object> paramMap) {
        logger.info("StoreController getStoreList paramMap:"+paramMap);
        ResponseMsg msg = storeService.getStoreList(paramMap);
        logger.debug("StoreController getStoreList msg:"+msg);
        return msg;
    }

    @Override
    public ResponseMsg getAllStore() {
        logger.info("StoreController getAllStore");
        ResponseMsg msg = storeService.getAllStore();
        logger.debug("StoreController getAllStore msg:"+msg);
        return msg;
    }

    @Override
    public ResponseMsg getStoreById(@RequestParam("id") Integer id) {
        logger.info("StoreController getStoreById id:"+id);
        ResponseMsg msg = storeService.getStoreById(id);
        logger.debug("StoreController getStoreById msg:"+msg);
        return msg;
    }

    @Override
    public ResponseMsg addStore(@RequestBody Store store) {
        logger.info("StoreController addStore store:"+store);
        ResponseMsg msg = storeService.addStore(store);
        logger.debug("StoreController addStore msg:"+msg);
        return msg;
    }

    @Override
    public ResponseMsg modifyStore(@RequestBody Store store) {
        logger.info("StoreController modifyStore store:"+store);
        ResponseMsg msg = storeService.modifyStore(store);
        logger.debug("StoreController modifyStore msg:"+msg);
        return msg;
    }

    @Override
    public ResponseMsg delStore(@RequestParam("id") Integer id) {
        logger.info("StoreController delStore id:"+id);
        ResponseMsg msg = storeService.delStore(id);
        logger.debug("StoreController delStore msg:"+msg);
        return msg;
    }

    @Override
    public ResponseMsg getStoreByCode(String code) {
        logger.info("StoreController getStoreByCode code:"+code);
        ResponseMsg msg = storeService.getStoreByCode(code);
        logger.debug("StoreController getStoreByCode msg:"+msg);
        return msg;
    }

    @Override
    public ResponseMsg getStoreByName(String name) {
        logger.info("StoreController getStoreByName name:"+name);
        ResponseMsg msg = storeService.getStoreByName(name);
        logger.debug("StoreController getStoreByName msg:"+msg);
        return msg;
    }
}
